#ifndef _ARRAY_H_
#define _ARRAY_H_

#include <vector>

class Array
{
public:
	Array() {}
	virtual ~Array() {}

	virtual double getCount() = 0;
};

class SimpleArray : public Array
{
public:
	std::vector <int> dimensions;
	double empty;

	SimpleArray(std::vector <int> dimensions, double empty);
};

struct ChunkArray : public Array
{
public:
	std::vector<int> attributeSize;

	int chunksCount;
	int chunkSize;

	double density;

	ChunkArray(int chunksCount, int chunkSize, double density, std::vector<int> &attributeSize);

	virtual double getCount();
};

#endif